/*
 * TablaPersonalizada.java
 *
 * Created on 24 de agosto de 2008, 14:48
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package IU;

/**
 *
 * @author 
 */
import javax.swing.table.*;
import java.util.*;

public class TablaPersonalizada extends AbstractTableModel{
    final String[] nombresColumna;
    final Vector datos;
    
    /** Creates a new instance of TableModelPersonalizado */
    public TablaPersonalizada(String[] pNombresColumna) {
        nombresColumna=pNombresColumna;
        datos=new Vector();
    }
    
    public int getColumnCount() {
        return nombresColumna.length;
    }
    
    public int getRowCount() {
        return datos.size();
    }
    
    public Object getValueAt(int rowIndex, int columnIndex) {
        return ((Vector)datos.elementAt(rowIndex)).elementAt(columnIndex);
    }
    
    public boolean isCellEditable(int rowIndex,int columnIndex){
        return false;
    }
    
    public void addRow(Vector fila){
        datos.add(fila);
        this.fireTableDataChanged();
    }
    
    public String getColumnName(int column){
        return nombresColumna[column];
    }
    
    public Class getColumnClass(int columnIndex){
        return ((Vector)datos.elementAt(0)).elementAt(columnIndex).getClass();
    }
    
    public void removeRow(int nroFila){
        if(nroFila<datos.size()){
            datos.remove(nroFila);
            this.fireTableDataChanged();
        }
    }
    
    public void addRow(int row,Vector fila){
        datos.add(row,fila);
        this.fireTableDataChanged();
    }
}